#ifndef prs_GrfLines_H
#define prs_GrfLines_H

#include "grf.h"
#include "sntText.h"
#include "prs_FrmNodes.h"

namespace prs {

struct TRulergbw : public snt::TRule
{
	TRulergbw(snt::text::TContext &Context
			 ,svl::TVariant &VR
			 ,svl::TVariant &VG
			 ,svl::TVariant &VB
			 ,svl::TVariant &VW);
	//
	svl::TVariant &vR,&vG,&vB,&vW; 
	svl_Except;
};

///////////////////////////////////////////////////////////
struct TRuleGrfLine : public snt::TRule
{
  TRuleGrfLine(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
protected:
  //
  static void FColor(snt::TParams &Params);
  //
  svl::TVariant &vColor, &vWeight, vThis, vR, vG, vB, vW;
  TRulergbw Rrgbw;
  svl_Except;
};

///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineHT : public TRuleGrfLine
{
  TRuleGrfLineHT(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};

///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineHC : public TRuleGrfLine
{
  TRuleGrfLineHC(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};
///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineHB : public TRuleGrfLine
{
  TRuleGrfLineHB(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};
///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineVL : public TRuleGrfLine
{
  TRuleGrfLineVL(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};
///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineVC : public TRuleGrfLine
{
  TRuleGrfLineVC(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};
///////////////////////////////////////////////////////////////////////////////
struct TRuleGrfLineVR : public TRuleGrfLine
{
  TRuleGrfLineVR(snt::text::TContext &Context,svl::TVariant &VColor,svl::TVariant &VWeight);
  //
  svl_Except;
};

///////////////////////////////////////////////////////////////////////////////
}

#endif
